package org.domain.sigepac.repository.impl;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import org.domain.sigepac.Entity.Voluntario;
import org.domain.sigepac.repository.RepositorioGenerico;
import org.domain.sigepac.repository.RepositorioVoluntario;
import org.jboss.seam.annotations.AutoCreate;
import org.jboss.seam.annotations.Name;



/**
 * @author bruno.canto
 */
@Name("repositorioVoluntario")
@AutoCreate
public class RepositorioVoluntarioImpl extends RepositorioGenerico<Voluntario>
    implements RepositorioVoluntario {



	@SuppressWarnings("unchecked")
	public List<Voluntario> pesquisarPorNome(String nome) {
		try {
			return (List<Voluntario>) this.entityManager.createQuery(
					"from Voluntario as voluntario where upper(voluntario.nome) like ?")
					.setParameter(1,"%"+nome.toUpperCase()+"%").getResultList();

		} catch (Exception e) {
			return Collections.EMPTY_LIST;
		}
	}

	@Override
	public List<Voluntario> listar() {
		List<Voluntario> voluntarios=super.listar();
		List<Voluntario> tmp=new ArrayList<Voluntario>();

		for(Voluntario voluntario:voluntarios){
			if(!voluntario.isDesligado())
				tmp.add(voluntario);
		}
		return tmp;
	}

	public List<Voluntario> listarInativos() {
		List<Voluntario> voluntarios=super.listar();
		List<Voluntario> tmp=new ArrayList<Voluntario>();

		for(Voluntario voluntario:voluntarios){
			if(voluntario.isDesligado())
				tmp.add(voluntario);
		}
		return tmp;
	}

	public List<Voluntario> todos() {
		// TODO Auto-generated method stub
		return super.listar();
	}


}
